Шаг 21 - Наследование, разное поведение по умолчанию.

Загрузить проект

В С++ при наследовании по умолчанию все данные и функции становятся приватные. Но это правило существует только в C++. Во всех остальных языках, по умолчанию наследование публичное.

Visual C++.Net
Visual Basic.Net
CSharp

Visual C++.Net

VC++
using namespace System;

class  CMyClass
{

public:
	int i;
	
};

class  CMyNewClass  : CMyClass
{
};

int main(void)
{
    CMyNewClass cm;
	cm.i = 10;		// ошибка, приватные данные
	return 0;

}

Visual Basic.Net

Module Module1
    
        
    Class CMyClass
        Public i As Integer
        Private x As Integer
        Protected y As Integer
    End Class
    
    Class CMyNewClass
        Inherits CMyClass
    End Class
    
    Sub Main()
        
        rem Dim ck As New CMyClass()
        Dim cm As New CMyNewClass()
        cm.i = 10
    End Sub
    
End Module

CSharp

namespace ConsoleApplication2
{
    using System;

	 class CMyClass
	{
		 public int i;
		 private int x;
		 protected int y;
   	}

	class CMyNewClass:CMyClass
	{
		
	}

	
    	
    public class Class1
    {
        
        public static int Main(string[] args)
        {
				CMyClass cm  = new CMyNewClass();
				cm.i = 10;
			    
            return 0;
        }
    }
}
Hosted by uCoz